using System;
using Bovespa.Sinacor.Servico.BaseConhecimento.Artigo.Servicos.Contratos;
using Bovespa.Sinacor.Servico.BaseConhecimento.Artigo.Entidades;

namespace Bovespa.Sinacor.Servico.BaseConhecimento.Artigo.Servicos.ServiceImplementation.Translator
{
    /// <summary>
    /// Realiza traducao entre contrato "ResultadoBuscaArtigo" e entidade "ResultadoBuscaArtigo".
    /// </summary>
    public class TradutorResultadoBuscaArtigo
    {
        /// <summary>
        /// Converte entidade "ResultadoBuscaArtigo" em contrato "ResultadoBuscaArtigo".
        /// </summary>
        public Bovespa.Sinacor.Servico.BaseConhecimento.Artigo.Servicos.Contratos.ResultadoBuscaArtigo Traduzir(Bovespa.Sinacor.Servico.BaseConhecimento.Artigo.Entidades.ResultadoBuscaArtigo origem)
        {
            Bovespa.Sinacor.Servico.BaseConhecimento.Artigo.Servicos.Contratos.ResultadoBuscaArtigo destino = new Bovespa.Sinacor.Servico.BaseConhecimento.Artigo.Servicos.Contratos.ResultadoBuscaArtigo();
            
            if(origem.Artigos != null)
            {
                destino.Artigos = new Servicos.ServiceImplementation.Translator.TradutorArtigo().Traduzir(origem.Artigos);
                destino.TextoPaginacao = origem.TextoPaginacao;
            }

            return destino;
        }

        /// <summary>
        /// Converte contrato "ResultadoBuscaArtigo" em entidade "ResultadoBuscaArtigo".
        /// </summary>
        public Bovespa.Sinacor.Servico.BaseConhecimento.Artigo.Entidades.ResultadoBuscaArtigo Traduzir(Bovespa.Sinacor.Servico.BaseConhecimento.Artigo.Servicos.Contratos.ResultadoBuscaArtigo origem)
        {
            Bovespa.Sinacor.Servico.BaseConhecimento.Artigo.Entidades.ResultadoBuscaArtigo destino = new Bovespa.Sinacor.Servico.BaseConhecimento.Artigo.Entidades.ResultadoBuscaArtigo();
            destino.Artigos = new Servicos.ServiceImplementation.Translator.TradutorArtigo().Traduzir(origem.Artigos);
            destino.TextoPaginacao = origem.TextoPaginacao;
            return destino;
        }
    }
}

